package com.community.body.mapper;

import com.community.body.domain.ZyCommunityInteraction;

import com.community.body.dto.InteractionDTO;
import com.community.body.dto.PersonnelDifferentiationDTO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * 社区互动Mapper接口
 *
 * @author community
 * @date 2024-04-16
 */
public interface ZyCommunityInteractionMapper {
    /**
     * 查询社区互动
     *
     * @param interactionId 社区互动主键
     * @return 社区互动
     */
    public ZyCommunityInteraction selectZyCommunityInteractionByInteractionId(Long interactionId);

    /**
     * 查询社区互动列表
     *
     * @param interactionDTO 社区互动
     * @return 社区互动集合
     */
    public List<InteractionDTO> selectZyCommunityInteractionList(InteractionDTO interactionDTO);

    /**
     * 热评
     *
     * @param interactionDTO 社区互动
     * @return 社区互动集合
     */
    public List<InteractionDTO> selectHotZyCommunityInteractionList(InteractionDTO interactionDTO);

    /**
     * 新增社区互动
     *
     * @param zyCommunityInteraction 社区互动
     * @return 结果
     */
    public int insertZyCommunityInteraction(ZyCommunityInteraction zyCommunityInteraction);

    /**
     * 修改社区互动
     *
     * @param zyCommunityInteraction 社区互动
     * @return 结果
     */
    public int updateZyCommunityInteraction(ZyCommunityInteraction zyCommunityInteraction);

    /**
     * 删除论坛同时删除对应的评论(只用修改del_flag)
     *
     * @param interactionID
     * @return
     */
    @Update("UPDATE zy_comment SET del_flag = 1 where interaction_id = #{interactionID}")
    public int updateCommentDelFlag(Long interactionID);

    /**
     * 删除社区互动
     *
     * @param interactionId 社区互动主键
     * @return 结果
     */
    public int deleteZyCommunityInteractionByInteractionId(Long interactionId);

    /**
     * 批量删除社区互动
     *
     * @param interactionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteZyCommunityInteractionByInteractionIds(Long[] interactionIds);
}
